/*
CREATE LOGIN DELIVERY
WITH PASSWORD = 'DELIVERY',
DEFAULT_DATABASE =DELIVERY,
CHECK_POLICY = OFF

SP_ADDSRVROLEMEMBER 'DELIVERY', 'SYSADMIN'
CREATE DATABASE DELIVERY;
*/


DROP TABLE ITEMPEDIDO;
DROP TABLE PEDIDO;
DROP TABLE CLIENTE;
DROP TABLE COMIDA;
DROP TABLE STOCK;
DROP TABLE INGREDIENTE;
DROP TABLE SECCION;
DROP TABLE RECETACOMPUESTA;
DROP TABLE RECETA;
DROP TABLE CARACTERISTICA;
DROP TABLE PRODUCTO;
DROP TABLE PROVEEDOR;
DROP TABLE UNIDAD;
DROP TABLE CATEGORIA;

GO

CREATE TABLE PROVEEDOR (
	IDPROVEEDOR INT,
	NOMBRE VARCHAR(30),
	PRIMARY KEY (IDPROVEEDOR)
);

INSERT INTO PROVEEDOR VALUES (1, 'ARTURO');
INSERT INTO PROVEEDOR VALUES (2, 'BENITEZ');
INSERT INTO PROVEEDOR VALUES (3, 'MAXIMILIANO');

CREATE TABLE CATEGORIA (
	IDCATEGORIA INT,
	DESCRIPCION VARCHAR(30),
	PRIMARY KEY (IDCATEGORIA)
);

INSERT INTO CATEGORIA VALUES (1, 'MINUTAS');
INSERT INTO CATEGORIA VALUES (2, 'ENSALADAS');
INSERT INTO CATEGORIA VALUES (3, 'POSTRES');

CREATE TABLE UNIDAD (
	IDUNIDAD INT,
	NOMBRE VARCHAR(30),
	PRIMARY KEY (IDUNIDAD)
);

INSERT INTO UNIDAD VALUES (1, 'GRAMOS');
INSERT INTO UNIDAD VALUES (2, 'LITROS');
INSERT INTO UNIDAD VALUES (3, 'KILOS');

CREATE TABLE CARACTERISTICA (
	IDCARACTERISTICA INT,
	DESCRIPCION VARCHAR (30),
	TIEMPOCOCCION FLOAT,
	COMPLEJIDAD INT,
	ACTIVO BIT,
	PRIMARY KEY (IDCARACTERISTICA)
);
CREATE TABLE CLIENTE (
	IDCLIENTE INT,
	NOMBRE VARCHAR (30),
	APELLIDO VARCHAR (30),
	DOMICILIO VARCHAR (30),
	TELEFONO VARCHAR (20),
	FRECUENTE BIT,
	PRIMARY KEY (IDCLIENTE)
);

INSERT INTO CLIENTE VALUES (1, 'ARTURO','SUAREZ', 'Lima 600','44444', 0);
INSERT INTO CLIENTE VALUES (2, 'BERNARDO','GIRARDO', 'Lima 600','44444', 0);
INSERT INTO CLIENTE VALUES (3, 'IVAN','GARCIA', 'Lima 600','44444', 0);

CREATE TABLE PRODUCTO (
	IDPRODUCTO INT,
	IDUNIDAD INT,
	IDPROVEEDOR INT,
	IDCATEGORIA INT,
	NOMBRE VARCHAR (30),
	COSTO FLOAT,
	ACTIVO BIT,
	ESTACIONDESDE DATETIME,
	ESTACIONHASTA DATETIME,
	PRIMARY KEY (IDPRODUCTO),
	FOREIGN KEY (IDUNIDAD) REFERENCES UNIDAD,
	FOREIGN KEY (IDPROVEEDOR) REFERENCES PROVEEDOR,
	FOREIGN KEY (IDCATEGORIA) REFERENCES CATEGORIA
);

INSERT INTO PRODUCTO (ACTIVO,ESTACIONDESDE,ESTACIONHASTA,IDCATEGORIA,IDPRODUCTO,IDPROVEEDOR,IDUNIDAD,NOMBRE)
	VALUES (1,NULL,NULL,1,1,1,1,'prod1')

INSERT INTO PRODUCTO (ACTIVO,ESTACIONDESDE,ESTACIONHASTA,IDCATEGORIA,IDPRODUCTO,IDPROVEEDOR,IDUNIDAD,NOMBRE)
	VALUES (1,NULL,NULL,1,2,1,1,'prod2')

CREATE TABLE SECCION (
	IDSECCION	INT,
	NOMBRE		VARCHAR(30),
	ACTIVO		BIT,
	PRIMARY KEY (IDSECCION)
);

CREATE TABLE STOCK (
	IDPRODUCTO INT,
	CANTIDAD INT,
	IDSECCION INT,
	PRIMARY KEY (IDSECCION,IDPRODUCTO),
	FOREIGN KEY (IDSECCION) REFERENCES SECCION,
	FOREIGN KEY (IDPRODUCTO) REFERENCES PRODUCTO
);

CREATE TABLE RECETA (
	IDRECETA INT,
	IDCARACTERISTICA INT,
	NOMBRE VARCHAR (30),
	ACTIVO BIT,
	PRIMARY KEY (IDRECETA),
	FOREIGN KEY (IDCARACTERISTICA) REFERENCES CARACTERISTICA
);

CREATE TABLE INGREDIENTE (
	IDRECETA INT,
	IDPRODUCTO INT,
	CANTIDAD DECIMAL,
	ACTIVO BIT,
	PRIMARY KEY (IDRECETA, IDPRODUCTO),
	FOREIGN KEY (IDPRODUCTO) REFERENCES PRODUCTO,
	FOREIGN KEY (IDRECETA) REFERENCES RECETA,
);

CREATE TABLE RECETACOMPUESTA (
	IDRECETACOMPUESTA INT,
	IDRECETA INT,
	ACTIVO BIT,
	PRIMARY KEY (IDRECETACOMPUESTA),
	FOREIGN KEY (IDRECETA) REFERENCES RECETA
);

CREATE TABLE COMIDA (
	IDCOMIDA INT,
	IDRECETA INT,
	IDCATEGORIA INT,
	IDSECCION INT,
	NOMBRE VARCHAR (30),
	ACTIVO BIT,
	PRIMARY KEY (IDCOMIDA),
	FOREIGN KEY (IDRECETA) REFERENCES RECETA,
	FOREIGN KEY (IDCATEGORIA) REFERENCES CATEGORIA,
	FOREIGN KEY (IDSECCION) REFERENCES SECCION
);

CREATE TABLE PEDIDO (
	IDPEDIDO INT,
	IDCLIENTE INT,
	FECHA DATETIME,
	PRIMARY KEY (IDPEDIDO),
	FOREIGN KEY (IDCLIENTE) REFERENCES CLIENTE
);

CREATE TABLE ITEMPEDIDO (
	IDPEDIDO INT,
	IDCOMIDA INT,
	CANTIDAD INT,
	PRIMARY KEY (IDPEDIDO,IDCOMIDA),
	FOREIGN KEY (IDCOMIDA) REFERENCES COMIDA,
	FOREIGN KEY (IDPEDIDO) REFERENCES PEDIDO,
);

